<html>
<head><meta charset="utf-8"><title>Improving VFS to support dynamically loading files/workspace · t-compiler/rust-analyzer · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/index.html">t-compiler/rust-analyzer</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html">Improving VFS to support dynamically loading files/workspace</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="197074215"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/197074215" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Kon / GolDDranks <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#197074215">(May 10 2020 at 19:35)</a>:</h4>
<p>This is a continuation from thread "Improving the experience on Sublime Text". ( <a href="#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Improving.20the.20experience.20.20on.20Sublime.20Text" title="#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Improving.20the.20experience.20.20on.20Sublime.20Text">https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Improving.20the.20experience.20.20on.20Sublime.20Text</a> )</p>
<p>I want to make supporting textDocument/didOpen with no workspaces already open, happen. For this, it was said that some improvements to VFS need to happen. I read through the source code of the ra_vfs crate. As a next step, I'd like to know if there are any work planned or already being work to improve VFS? Should I try and start tinkering locally, thinking about the changes needed and send some strawman pull requests or do you think some centralized discussion about how to go with it are beneficial?</p>



<a name="197074297"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/197074297" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Kon / GolDDranks <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#197074297">(May 10 2020 at 19:37)</a>:</h4>
<p>For reference, this issue tracks the work. <a href="https://github.com/rust-analyzer/rust-analyzer/issues/3715" title="https://github.com/rust-analyzer/rust-analyzer/issues/3715">https://github.com/rust-analyzer/rust-analyzer/issues/3715</a> Watchman client was mentioned, is there a plan to migrate from the notify crate?</p>



<a name="197074394"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/197074394" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Kon / GolDDranks <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#197074394">(May 10 2020 at 19:38)</a>:</h4>
<p>(Hmm, this bullet list seems relevant <a href="https://github.com/rust-analyzer/rust-analyzer/issues/1968" title="https://github.com/rust-analyzer/rust-analyzer/issues/1968">https://github.com/rust-analyzer/rust-analyzer/issues/1968</a>)</p>



<a name="197074493"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/197074493" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Kon / GolDDranks <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#197074493">(May 10 2020 at 19:39)</a>:</h4>
<p>Notify stuff doesn't perhaps directly have to do with adding roots, but if there's an upcoming significant re-design, there's gonna be churn, I guess.</p>



<a name="197074589"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/197074589" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Kon / GolDDranks <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#197074589">(May 10 2020 at 19:41)</a>:</h4>
<p>Does "lazy VFS" mean that the watching isn't done eagerly and recursively in the future? Is there any planned changes to the "root" model?</p>



<a name="197079272"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/197079272" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#197079272">(May 10 2020 at 21:19)</a>:</h4>
<p>yeah, I think the idea is that we shouldn't eagerly read into memory and watch every (rust) file in the workspace, and instead only access them and start watching when we actually need them</p>



<a name="197083163"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/197083163" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#197083163">(May 10 2020 at 22:38)</a>:</h4>
<blockquote>
<p>yeah, I think the idea is that we shouldn't eagerly read into memory and watch every (rust) file in the workspace, and instead only access them and start watching when we actually need them</p>
</blockquote>
<p>Not exactly -- I believe that watching needs to be done eagarly, but loading lazliy</p>



<a name="197083223"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/197083223" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#197083223">(May 10 2020 at 22:39)</a>:</h4>
<p>It's impossible to correctly lazy watch the files, because the way to guarantee lost update is to <em>first</em> setup watchers and <em>then</em> do a scan of the whole dir, to not miss files created when setting up watchers was in progress</p>



<a name="197105374"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/197105374" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Laurențiu <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#197105374">(May 11 2020 at 06:41)</a>:</h4>
<p>Stupid question, but do we care about changes to directories we haven't look at yet? E.g. if <code>foo.rs</code> is added to disk but there's not <code>mod foo</code> anywhere, do we care about it? We might need to to support cases like files outside of a project, but can't we add them to the VFS when needed?</p>



<a name="197162843"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/197162843" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Kon / GolDDranks <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#197162843">(May 11 2020 at 15:32)</a>:</h4>
<p>Is there a way to build in debug mode with cargo xtask install? I'm using stack traces to try to figure out what the code is doing from time to time, but it seems to skip many stack frames, which I presume, is because optimizations.</p>



<a name="197162963"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/197162963" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Laurențiu <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#197162963">(May 11 2020 at 15:33)</a>:</h4>
<p>Set <code>debug = 2</code> under <code>[profile.release]</code></p>



<a name="197164901"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/197164901" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Kon / GolDDranks <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#197164901">(May 11 2020 at 15:47)</a>:</h4>
<p>Thanks!</p>



<a name="197169868"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/197169868" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Kon / GolDDranks <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#197169868">(May 11 2020 at 16:22)</a>:</h4>
<p>Hmm, I'm still unable to get full backtraces... For example it's saying that rust_analyzer::main_loop::loop_turn calls rust_analyzer::world::WorldSnapshot::uri_to_file_id, which isn't the case, there's at least two stack frames in between. Plus, it doesn't show line numbers.</p>



<a name="197169886"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/197169886" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Kon / GolDDranks <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#197169886">(May 11 2020 at 16:22)</a>:</h4>
<p>I wonder what's wrong :(</p>



<a name="197172024"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/197172024" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Edwin Cheng <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#197172024">(May 11 2020 at 16:37)</a>:</h4>
<p>The method <span class="user-mention" data-user-id="203546">@Laurențiu Nicola</span>  mentioned is on release mode, so compiler is still able to inline some functions. And currently, as I know <code>cargo xtask install</code> doesn't support debug build. Is it possible to use <br>
<code>cargo run --debug -p rust-analyzer -- analysis-stats  .</code> <br>
on your case ?</p>



<a name="197173955"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/197173955" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Kon / GolDDranks <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#197173955">(May 11 2020 at 16:52)</a>:</h4>
<p><span class="user-mention" data-user-id="216201">@Edwin Cheng</span> Thanks, that helped!</p>



<a name="197939279"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/197939279" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#197939279">(May 18 2020 at 14:07)</a>:</h4>
<p><span class="user-mention silent" data-user-id="133169">matklad</span> <a href="#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace/near/197083223">said</a>:</p>
<blockquote>
<p>It's impossible to correctly lazy watch the files, because the way to guarantee lost update is to <em>first</em> setup watchers and <em>then</em> do a scan of the whole dir, to not miss files created when setting up watchers was in progress</p>
</blockquote>
<p>I still don't quite understand the reasoning here -- to me, it seems like it should be possible to, whenever we actually start caring about the contents of a file, 1. start a watcher on it and then 2. read the content</p>



<a name="197939461"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/197939461" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#197939461">(May 18 2020 at 14:08)</a>:</h4>
<p>in particular, rust project structure never depends on files just existing somewhere, right? I'm not sure about this, maybe I'm missing some case</p>



<a name="197939509"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/197939509" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#197939509">(May 18 2020 at 14:08)</a>:</h4>
<p>It sort-of depends</p>



<a name="197939542"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/197939542" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#197939542">(May 18 2020 at 14:09)</a>:</h4>
<p><code>mod foo;</code> gives you an error if you have both <code>foo.rs</code> and <code>foo/mod.rs</code></p>



<a name="197939586"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/197939586" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#197939586">(May 18 2020 at 14:09)</a>:</h4>
<p>So, you also have to watch the dir</p>



<a name="197939653"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/197939653" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#197939653">(May 18 2020 at 14:09)</a>:</h4>
<p>I am also not entirely sure that what I wrote is true, but I think watchman works that way.</p>



<a name="197939741"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/197939741" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#197939741">(May 18 2020 at 14:10)</a>:</h4>
<p>Ie, when you watch a directory, it first emits a bunch of "created" events for all the files</p>



<a name="197940983"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/197940983" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#197940983">(May 18 2020 at 14:18)</a>:</h4>
<p><span class="user-mention silent" data-user-id="133169">matklad</span> <a href="#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace/near/197939542">said</a>:</p>
<blockquote>
<p><code>mod foo;</code> gives you an error if you have both <code>foo.rs</code> and <code>foo/mod.rs</code></p>
</blockquote>
<p>ok, but that's still just two files. I guess what I meant was that we never need to have the full list of files in any directory. There's a finite set of files that we care about because the editor mentioned/opened them, and then from them we have to go looking for a still-finite set of related files</p>



<a name="197941312"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/197941312" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#197941312">(May 18 2020 at 14:20)</a>:</h4>
<p>On the one hand, it's true. On the other hand, it's good to be aware about the files not linked to the module tree at all....</p>



<a name="197941423"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/197941423" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#197941423">(May 18 2020 at 14:21)</a>:</h4>
<p>yeah, but even if the user doesn't open them?</p>



<a name="197941524"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/197941524" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#197941524">(May 18 2020 at 14:22)</a>:</h4>
<p>Maybe? For our current indexing for sure</p>



<a name="197941840"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/197941840" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#197941840">(May 18 2020 at 14:24)</a>:</h4>
<p>hmm. ok, the indexing is a problem. maybe we shouldn't be doing that anyway if we want to support big monorepos?</p>



<a name="197989847"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/197989847" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wez Furlong <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#197989847">(May 18 2020 at 20:15)</a>:</h4>
<p>Greetings!    I'm deeply involved with watchman/EdenFS/big monorepos and helping folks that do build/indexing at FB work well in that environment.  I'd be happy to answer questions that you might have about watchman specifically and general thoughts/insights from working in monorepos over the past few years.  I'm also happy to do eg: a video chat for a higher bandwidth "note comparison" session.  I'm based in California but am a relatively early riser so can accommodate more European friendly times for that.</p>



<a name="198113373"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/198113373" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#198113373">(May 19 2020 at 19:15)</a>:</h4>
<p>Hello <span class="user-mention" data-user-id="303445">@Wez Furlong</span> !</p>
<p>I believe a video chat would be very useful! What about 18:00 CET / 9 am PDT some day this week (any day works for me)? </p>
<p>I'll also catch up with comments on the issue and will write in more detail about rust-analyzer requirenments (or at least things I believe to be requirements) and clear up the "consistent snapshots" confusion!</p>



<a name="198269618"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/198269618" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Kon / GolDDranks <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#198269618">(May 20 2020 at 23:22)</a>:</h4>
<p>I'm also interested to join</p>



<a name="198271203"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/198271203" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Kon / GolDDranks <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#198271203">(May 20 2020 at 23:46)</a>:</h4>
<p>(18:00 CET is possible for me but a few hours earlier would be even better, as my timezone is JST (UTC+9). I'm a night owl  so I can make it work though.)</p>



<a name="198339011"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/198339011" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wez Furlong <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#198339011">(May 21 2020 at 16:01)</a>:</h4>
<p><span class="user-mention" data-user-id="133169">@matklad</span> hey; sorry for the really short notice; it's turning into a bit of a weird week!  Do you have time to chat now for 30 mins?  If not, then early next week?</p>



<a name="198339354"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/198339354" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wez Furlong <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#198339354">(May 21 2020 at 16:04)</a>:</h4>
<p>also, do you have a preferred VC?  It's pretty easy for me to host a Blue Jeans</p>



<a name="198340345"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/198340345" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wez Furlong <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#198340345">(May 21 2020 at 16:11)</a>:</h4>
<p>Ah, I just saw <span class="user-mention" data-user-id="124002">@GolDDranks / Pyry Kontio</span> comment.   How about something like 7:30AM pacific time on May 26 for the three of us?  I can set up a bluejeans session and email you the details (you can email me <code>wez</code>@<code>fb.com</code> if you want to share those details with me out of band from zulip)</p>



<a name="198345815"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/198345815" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#198345815">(May 21 2020 at 16:50)</a>:</h4>
<p>May 26 and bluejeans work for me! Send an email!</p>



<a name="198413524"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/198413524" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Coenen Benjamin <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#198413524">(May 22 2020 at 07:41)</a>:</h4>
<p>Is it going to be a recorded session ? I'm interested by the topic but I'm more comfortable to watch the replay. And I think it could be interesting to have this kind of recorded resources :D</p>



<a name="198769615"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Improving%20VFS%20to%20support%20dynamically%20loading%20files/workspace/near/198769615" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wez Furlong <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Improving.20VFS.20to.20support.20dynamically.20loading.20files.2Fworkspace.html#198769615">(May 26 2020 at 14:28)</a>:</h4>
<p>No plans to record this time around!</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>